/*
*
* SysUser.java
* Copyright(C) 2017-2020 fendo公司
* @date 2018-12-04
*/
package com.mass.core.sys.user.model;

import java.util.List;
import java.util.Map;

import org.springframework.util.ObjectUtils;

import com.mass.core.sys.authority.model.SysAuthority;
import com.mass.core.sys.role.model.SysRole;

public class SysUser extends publicModel{
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 系统用户帐号
     */
    private String account;

    /**
     * 真实姓名
     */
    private String name;

    /**
     * 系统用户密码
     */
    private String password;

    /**
     * 是否启用(1=启用，0=禁用)
     */
    private Integer enabled;

    /**
     * 最后登录IP
     */
    private String lastLoginIp;

    /**
     * 最后登录时间
     */
    private String lastLoginTime;

    /**
     * 人员信息ID
     */
    private Long aPersonalBaseId;

    /**
     * 人员头像url
     */
    private String employeeHead;

    /**
     * 描述
     */
    private String description;

    /**
     * 0所有权限，默认角色权限 
     */
    private Long roleId;

    /**
     * 微信用户openid
     */
    private String openId;

    /**
     * 开启Tab缓存 0 正常  1缓存
     */
    private Integer tabCache;

    /**
     * Tab切换刷新 0 正常 1刷新
     */
    private Integer tabRefresh;

    /**
     * 单一登录  0 否  1 是
     */
    private Integer aSingleLogin;

    /**
     * 是否锁屏 0 否 1 是
     */
    private Integer lockScreen;

    /**
     * 登录错误次数
     */
    private Integer numberPasswordError;

    /**
     * 是否显示系统公告 0 否 1是
     */
    private Integer announcement;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 删除标记
     */
    private Integer delFlag;
    
    private String UUID;
    
    private String token;
    
    private String roleNames;  //角色名称
    
    private List<SysRole> sysRoleList; 			 //角色
    
    private Map<Long,SysRole> mapRole; 			 //map 存储角色信息

    private List<SysAuthority> sysAuthorityList; //权限.
    
    /**
     * 组织ID
     */
    private Long unionId;
    
    /**
     * 组织名称
     */
    private String unionName;
    
    public String getUUID() {
		return UUID;
	}

	public void setUUID(String uUID) {
		UUID = uUID;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public String getRoleNames() {
		return roleNames;
	}

	public void setRoleNames(String roleNames) {
		this.roleNames = roleNames;
	}

	public List<SysRole> getSysRoleList() {
		return sysRoleList;
	}

	public void setSysRoleList(List<SysRole> sysRoleList) {
		String str="";
		for(SysRole sysRole:sysRoleList){
		    if(!ObjectUtils.isEmpty(sysRole.getRoleName()))
			    str+=","+sysRole.getRoleName();
		}
		if(!"".equals(str))
		this.roleNames = str.substring(1,str.length());
		this.sysRoleList = sysRoleList;
	}

	public Map<Long, SysRole> getMapRole() {
		return mapRole;
	}

	public void setMapRole(Map<Long, SysRole> mapRole) {
		this.mapRole = mapRole;
	}

	public List<SysAuthority> getSysAuthorityList() {
		return sysAuthorityList;
	}

	public void setSysAuthorityList(List<SysAuthority> sysAuthorityList) {
		this.sysAuthorityList = sysAuthorityList;
	}

	/**
     * 主键ID
     * @return ID 主键ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 主键ID
     * @param id 主键ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 系统用户帐号
     * @return ACCOUNT 系统用户帐号
     */
    public String getAccount() {
        return account;
    }

    /**
     * 系统用户帐号
     * @param account 系统用户帐号
     */
    public void setAccount(String account) {
        this.account = account == null ? null : account.trim();
    }

    /**
     * 真实姓名
     * @return NAME 真实姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 真实姓名
     * @param name 真实姓名
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 系统用户密码
     * @return PASSWORD 系统用户密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 系统用户密码
     * @param password 系统用户密码
     */
    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    /**
     * 是否启用(1=启用，0=禁用)
     * @return ENABLED 是否启用(1=启用，0=禁用)
     */
    public Integer getEnabled() {
        return enabled;
    }

    /**
     * 是否启用(1=启用，0=禁用)
     * @param enabled 是否启用(1=启用，0=禁用)
     */
    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    /**
     * 最后登录IP
     * @return LAST_LOGIN_IP 最后登录IP
     */
    public String getLastLoginIp() {
        return lastLoginIp;
    }

    /**
     * 最后登录IP
     * @param lastLoginIp 最后登录IP
     */
    public void setLastLoginIp(String lastLoginIp) {
        this.lastLoginIp = lastLoginIp == null ? null : lastLoginIp.trim();
    }

    /**
     * 最后登录时间
     * @return LAST_LOGIN_TIME 最后登录时间
     */
    public String getLastLoginTime() {
        return lastLoginTime;
    }

    /**
     * 最后登录时间
     * @param lastLoginTime 最后登录时间
     */
    public void setLastLoginTime(String lastLoginTime) {
        this.lastLoginTime = lastLoginTime == null ? null : lastLoginTime.trim();
    }

    /**
     * 人员信息ID
     * @return A_PERSONAL_BASE_ID 人员信息ID
     */
    public Long getaPersonalBaseId() {
        return aPersonalBaseId;
    }

    /**
     * 人员信息ID
     * @param aPersonalBaseId 人员信息ID
     */
    public void setaPersonalBaseId(Long aPersonalBaseId) {
        this.aPersonalBaseId = aPersonalBaseId;
    }

    /**
     * 人员头像url
     * @return EMPLOYEE_HEAD 人员头像url
     */
    public String getEmployeeHead() {
        return employeeHead;
    }

    /**
     * 人员头像url
     * @param employeeHead 人员头像url
     */
    public void setEmployeeHead(String employeeHead) {
        this.employeeHead = employeeHead == null ? null : employeeHead.trim();
    }

    /**
     * 描述
     * @return DESCRIPTION 描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 描述
     * @param description 描述
     */
    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    /**
     * 0所有权限，默认角色权限 
     * @return ROLE_ID 0所有权限，默认角色权限 
     */
    public Long getRoleId() {
        return roleId;
    }

    /**
     * 0所有权限，默认角色权限 
     * @param roleId 0所有权限，默认角色权限 
     */
    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    /**
     * 微信用户openid
     * @return OPEN_ID 微信用户openid
     */
    public String getOpenId() {
        return openId;
    }

    /**
     * 微信用户openid
     * @param openId 微信用户openid
     */
    public void setOpenId(String openId) {
        this.openId = openId == null ? null : openId.trim();
    }

    /**
     * 开启Tab缓存 0 正常  1缓存
     * @return TAB_CACHE 开启Tab缓存 0 正常  1缓存
     */
    public Integer getTabCache() {
        return tabCache;
    }

    /**
     * 开启Tab缓存 0 正常  1缓存
     * @param tabCache 开启Tab缓存 0 正常  1缓存
     */
    public void setTabCache(Integer tabCache) {
        this.tabCache = tabCache;
    }

    /**
     * Tab切换刷新 0 正常 1刷新
     * @return TAB_REFRESH Tab切换刷新 0 正常 1刷新
     */
    public Integer getTabRefresh() {
        return tabRefresh;
    }

    /**
     * Tab切换刷新 0 正常 1刷新
     * @param tabRefresh Tab切换刷新 0 正常 1刷新
     */
    public void setTabRefresh(Integer tabRefresh) {
        this.tabRefresh = tabRefresh;
    }

    /**
     * 单一登录  0 否  1 是
     * @return A_SINGLE_LOGIN 单一登录  0 否  1 是
     */
    public Integer getaSingleLogin() {
        return aSingleLogin;
    }

    /**
     * 单一登录  0 否  1 是
     * @param aSingleLogin 单一登录  0 否  1 是
     */
    public void setaSingleLogin(Integer aSingleLogin) {
        this.aSingleLogin = aSingleLogin;
    }

    /**
     * 是否锁屏 0 否 1 是
     * @return LOCK_SCREEN 是否锁屏 0 否 1 是
     */
    public Integer getLockScreen() {
        return lockScreen;
    }

    /**
     * 是否锁屏 0 否 1 是
     * @param lockScreen 是否锁屏 0 否 1 是
     */
    public void setLockScreen(Integer lockScreen) {
        this.lockScreen = lockScreen;
    }

    /**
     * 
     * @return NUMBER_PASSWORD_ERROR 
     */
    public Integer getNumberPasswordError() {
        return numberPasswordError;
    }

    /**
     * 
     * @param numberPasswordError 
     */
    public void setNumberPasswordError(Integer numberPasswordError) {
        this.numberPasswordError = numberPasswordError;
    }

    /**
     * 是否显示系统公告 0 否 1是
     * @return ANNOUNCEMENT 是否显示系统公告 0 否 1是
     */
    public Integer getAnnouncement() {
        return announcement;
    }

    /**
     * 是否显示系统公告 0 否 1是
     * @param announcement 是否显示系统公告 0 否 1是
     */
    public void setAnnouncement(Integer announcement) {
        this.announcement = announcement;
    }

    /**
     * 创建时间
     * @return CREATE_TIME 创建时间
     */
    public String getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(String createTime) {
        this.createTime = createTime == null ? null : createTime.trim();
    }

    /**
     * 删除标记
     * @return DEL_FLAG 删除标记
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 删除标记
     * @param delFlag 删除标记
     */
    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

	public Long getUnionId() {
		return unionId;
	}

	public void setUnionId(Long unionId) {
		this.unionId = unionId;
	}

	public String getUnionName() {
		return unionName;
	}

	public void setUnionName(String unionName) {
		this.unionName = unionName;
	}
    
	
}